home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Chip 1996 April
/
CHIP 1996 aprilis (CD06).zip
/
CHIP_CD06.ISO
/
hypertxt.arj
/
9502
/
LINUXMAN.CD
< prev
next >
Wrap
Text File
|
1995-12-13
|
18KB
|
316 lines
@VA man és társai@N
@VA Linux/Unix-help@N
Minden számítógépes rendszer használatát megkönnyíti, ha
nem kell lapozgatnunk a felhasználói kézikönyvet, hanem
online súgó (help) áll rendelkezésünkre. Ez nemcsak a
kezdôknek könnyíti meg a rendszerrel való ismerkedést, a
profi felhasználónak is hasznos lehet egyes ritkábban
használt utasítások, szolgáltatások alkalmazásánál.
A Unix operációs rendszer -- alapfilozófiájának
megfelelôen -- nem egy nagydarab, komplikált utilityvel
oldja meg a feladatot, hanem több rövid és gyors program
közül választhatjuk ki a végrehajtandó feladatnak
megfelelôt. Emiatt négy parancsot kell megjegyeznünk. Ezek a
parancsok a következôk:
@VHelp@N
A parancs rendszerenként más lehet. Egyes rendszereken a
shellbe beépített parancsokról ad felvilágosítást, máshol a
leggyakrabban használt parancsokat foglalja össze (a két
csoport nagymértékben fedi egymást). Nagyon hasznos annak,
aki életében elôször találkozik a Unix rendszerrel, mivel
megadja néhány létfontosságú parancs nevét (például @Kcp, mv,
@Kman@N stb.), és rövid ismertetôt közöl a parancsról. A @Khelp@N
paranccsal egy listát kapunk a @Khelp [parancs]@N utasítás
[parancs] részében megadható parancsokról. Gyakorlatilag
arra használható, hogy megtudjuk, melyik @Kman@N lapokat érdemes
átböngészni, ha a rendszert elemi szinten akarjuk használni.
@VMan@N
A felsorolt programok közül messze legtöbbször ezt
használja a felhasználó. Nevét a ""manual" rövidítéseként
kapta. Gyakorlatilag egy felhasználói leírás lapjainak
tekinthetjük a nyerhetô információt. Létezik olyan rendszer,
amely a felhasználói kézikönyv lexikon részét egy az egyben,
címszavanként tartalmazza.
A man segítségével egy adott témáról kaphatunk bôséges
információt a következô módon:
@Kman string@N
ahol a @Kstring@N a minket érdeklô utasítás, könyvtári
rutin, rendszerhívás vagy más téma. Látható, hogy az
utasításban szereplô string igen sokféle lehet. Gondoljuk
meg, hogy már csak a C könyvtári rutinok leírása
tisztességes méretû adathalmazt jelent. A könnyebb
átláthatóság kedvéért a @Kman@N információk tíz fejezetre vannak
felosztva (lásd a keretes szövegrészt!). Minden egyes
fejezet hasonló jellegû információt tartalmaz.
Itt érdemes annyit megjegyezni, hogy mivel a Linux igen
gyorsan fejlôdik, a @Kman@N lapok nem minden esetben tudják
követni az új verziókat. Vannak fejezetek, amelyek nem
teljesek (például a 3. fejezet sem az, bár többszáz
bejegyzést tartalmaz). Mindenesetre a már elkészült lapok
sok hasznos információt tartalmaznak, és elég sokat ahhoz,
hogy egy jó darabig legyen olvasnivalónk.
A @Kman@N fenti formája elkezdi keresni a stringet az elsô
témakörnél, és az elsô találatot jeleníti meg. Ha a minket
érdeklô téma mondjuk az @Kn.@N fejezetben van, akkor esetleg
hosszú ideig is eltarthat a keresés (például a C
könyvtárakban általában meglehetôsen sok rutin található).
Ha tudjuk, hogy a keresett téma melyik fejezetben található,
akkor a
@Kman fejezet-sorszáma string@N
formában is kereshetjük a leírást. Ez nyilván hamarabb
megtalálja a keresett adatot, de ha rossz fejezetsorszámot
adunk meg, nem fog megtalálni semmit.
Másrészt elképzelhetô, hogy egy adott téma több
fejezetbe is beleillik. Nézzük meg például a @Kman open@N
esetét! A Unix operációs rendszernek van egy @Kopen@N nevû
rendszerhívása és a C könyvtárakban is található egy open()
függvény. Ezek rendre a második, illetve a harmadik
fejezetben találhatók. Ha tehát kiadjuk a @Kman open@N
parancsot, akkor mindig a második fejezetbeli leírást kapjuk
vissza. Ezen segít a
@Kman -a open@N
parancs. A @K-a@N opció hatására a man nem áll meg az elsô
találatnál, hanem folytatja a keresést. îgy megkapjuk az egy
stringhez tartozó, különbözô fejezetekben lévô információt
is.
Elképzelhetô azonban, hogy nem vagyunk kíváncsiak az
összes leírásra. A fenti példánál maradva tegyük fel, hogy
csak az open() függvény érdekel bennünket. A keresett
információt a
@Kman 3 open@N
paranccsal kaphatjuk meg.
@VA man lapok felépítése@N
Gyakorlott felhasználóval is gyakran megesik, hogy
elfelejti egy utasítás szintaxisát, vagy hogy egy még általa
nem használt kapcsolót kíván használni egy utasításban.
Ilyenkor rengeteg idôt lehet megtakarítani, ha nem kell az
egész man lapot végigbogarászni a keresett információért.
Ezt a man lapok készítôi is felismerték, ezért minden man
lap többé-kevésbé általános felépítést követ.
A man lapok részekre vannak osztva. Minden részt egy
címszó vezet be. A következô részeket tartalmazhatja egy man
lap: @Kfejléc, címszavak, szintaxis, argumentumok, opciók,
@Kleírás, hibakezelés, hibák, file-ok, lásd még.@N (Elképzelhetô
természetesen, hogy hosszabb leírásoknál egyedi címszavak is
megjelennek, például a @Kbash shell@N man lapja.)
A felsoroltak között vannak olyanok, amelyek minden man
lapon megtalálhatók: például a fejléc, címszavak, szintaxis,
leírás, lásdmég. Mások csak olyankor találhatók meg, ha
érdemi információt tartalmaznak: például file-ok,
argumentumok, opciók, hibakezelés, hibák (bugs).
Mindenkinek, aki már használt más Unix rendszert, ajánlom
figyelmébe a bugs részt. Ebbôl kiderülhet esetleg, hogy a
másik rendszerben mûködô utasítás Linux alatt miért nem
mûködik. Természetesen bizonyos részek tovább tagolódhatnak.
Mint az várható, ez leginkább a leíró részre vonatkozik.
Például a shell leírás (@Kman bash@N) több ezer sor hosszúságú,
tehát a további tagolás elkerülhetetlen. Tekintsük át
röviden az egyes részeket!
A fejléc tartalmazza a téma nevét, és az adott fejezet
sorszámát, ahol sikerült rábukkanni a témára.
A címszavak részben megtalálhatjuk, hogy mirôl is van
szó. Ennek jelentôségét akkor érthetjük meg leginkább, ha az
X-Window man lapjait nézegetjük. Ezeknél megesik, hogy több
rutin leírása található meg egy lapon. Ezek a leírások sok
közös részt tartalmaznak, amelyeket nem érdemes többször
leírni. Ezzel lemezterületet is megtakarítunk, másrészt ezek
a közös részek néha nagyon hosszúak. Ilyenkor megírják a
közös man lapot, és a különbözô címszavak mind a közös lapra
mutatnak. Másrészt a @Kwhatis,@N illetve az @Kapropos@N parancs
szintén a címszavakból a makewhatis utilityvel összeállított
adatbázisból dolgozik.
A @Ksyntax@N részben a parancs, függvény stb. szintaxisának
definíciója szerepel. Ez az a rész, amit a Unix wizardok is
viszonylag sokszor használnak.
Az @Kargument@N rész leginkább C függvények és eljárások
esetén szerepel: a függvénynek, illetve az eljárásnak
átadandó argumentumok jelentését foglalja össze. Ez a rész
is akkor nagyon hasznos, ha egy ritkán használt rutint
kívánunk használni, de nem vagyunk biztosak az argumentumok
sorrendjében, típusában.
Az @Koptions@N rész általában utilityk leírásában szerepel.
Unix rendszer alatt általános, hogy a utilityk mûködését
bizonyos opciókkal módosíthatjuk (gondoljunk például az @Kls@N
parancsra és annak opcióira). Itt a szintaxis részben
szereplô opciók részletes leírása található. A mindennapi
használat során ez is rendkívül fontos.
A @Kdescription@N (leíró) részben többé-kevésbé részletes
leírását találjuk annak, hogy a kérdéses utasítás, függvény
vagy rutin hogyan mûködik, és mire használható.
Az @Kerrors@N rész általában rutin- vagy függvényleírásokban
található meg. Ebbôl a részbôl derül ki, hogy miként reagál
a szóban forgó objektum hibás paraméterek megadására vagy
más hiba felléptekor. Mivel nincs rendszer hiba nélkül, a
felderített, de ki még nem javított hibákat célszerûen ide
gyûjtik a dokumentáció készítôi. Ezek a hibák általában
valamilyen a megszokottól eltérô mûködést jelentenek
(például a szóban forgó utility valamelyik opcióját
egyáltalán nem, vagy máshogy kezeli, mint a szabvány).
A @Kfiles@N részben azon file-ok neveit találhatjuk,
amelyekre az adott utasítás hatással van, vagy amelyek
valamilyen, az utasítás mûködéséhez szükséges információt
tartalmaznak.
A @Ksee also@N egy keresztreferencia rész, ami azokat a
címszavakat sorolja fel, amelyek az adott témához
kapcsolódnak, illetve néhány helyen könyveket is ajánl,
amelyekbôl a bátor felfedezô többlet információhoz juthat. A
könyveket leszámítva viszonylag zárt ez a
hivatkozásrendszer.
@VHaladó man@N
A teljesség igénye nélkül bemutatunk néhány jól
használható man opciót.
@K-M path:@N segítségével a keresésre kijelölt directoryk
listáját adhatjuk meg. Ha elhagyjuk, akkor a man a MANPATH
környezeti változóban talált directorylistát használja.
@K-P pager:@N a man által használt pagert adhatjuk meg. A
pager az a program, ami a hosszú oldalakat nem hagyja
kifutni, hanem gombnyomásra vár a továbbgörgetés elôtt
(például more). Ha elhagyjuk, akkor a man a PAGER környezeti
változó által megadott pagert használja.
@K-S fejezet1,fejezet2 ... :@N megadhatjuk, hogy melyik
fejezeteket kívánjuk vizsgálni. Használata esetén a man csak
ezekbe a fejezetekbe néz be. Ha elhagyjuk, akkor a MANSECT
környezeti változó értékét használja.
@VVisszafele görgetés@N
A következô probléma a Linux esetén nem merül fel, de
más Unix rendszereknél megnehezítheti a munkánkat. Egyes
rendszereknél alapbeállításban a man lapokat nem lehet
visszafelé görgetni. Ez ott azért van, mert a man a @Kmore@N
parancsot használja görgetéshez (Linux esetén a @Kless@N pager
felel meg ennek, ami tud visszafele görgetni). Ezen úgy
segíthetünk, hogy megadjuk a man opciói között explicite,
hogy melyik pagert kívánjuk használni. Ezt az elôbb említett
opciók közül a @K-P pager-neve@N parancs segítségével adhatjuk
meg. Kényelmesebb megoldás a PAGER környezeti változó
beállítása. Segítségével a kiválasztott pagernek opciókat is
átadhatunk.
@VA man mûködése@N
A man információs rendszere nem zárt rendszer. A
programozó könnyen saját man lapokat csatolhat a rendszerben
meglévô lapokhoz. Ezáltal könnyen és szabványos módon
dokumentálhatja termékeit. Ehhez azonban ismernie kell a man
mûködését.
A man az információ keresése közben egy
directory-halmazt néz végig. Ezt a directory-halmazt a
MANPATH környezeti változó definiálja. A MANPATH egy
directory listát tartalmaz. Az egyes directorykat a
kettôspont jel választja el egymástól (Unix rendszerben az
összes path jellegû környezeti változó ugyanilyen
felépítésû). Egy lehetôség a MANPATH-ra egy X-Window nélküli
rendszerben:
@KMANPATH=/usr/man:/usr/man/preformat:/var/man:/var/man/preformat
Ha ennek a változónak nem adunk értéket, akkor a man a
@K/usr/man@N directoryt vizsgálja alapértelmezés szerint.
Belenézve például a @K/usr/man/preformat@N directoryba, a
következôt látjuk:
@Kcat1 cat2 cat3 cat4 cat5 cat6 cat7 cat8 cat9 catn@N
Ezek a már említett fejezetekhez tartozó aldirectoryk.
Az összes többi man directory ugyanígy néz ki. Amikor
kiadjuk a
@Kman fejezetsorszám string@N
utasítást, akkor az összes MANPATH-beli directoryból
csupán a fejezet sorszámnak megfelelô @Kcat?@N directoryban
keres a man. A @Kcat?@N aldirectorykba pillantva megláthatjuk a
man lapokat tartalmazó file-okat. Minden témához tartozik
egy file. Ezek általában tömörítve vannak, hogy kevesebb
területet foglaljanak. Ezek után az új lap hozzáadása nem
egy ördöngôs dolog. El kell döntenünk, hogy melyik
fejezethez kívánjuk csatolni a lapunkat. Ezután a megfelelô
@Kcat?@N directoryba be kell másolnunk a lapot tartalmazó
file-t, és a man már látja is.
@VWhatis@N
A parancs szintaxisa:
@Kwhatis string@N
ahol a string a minket érdeklô utasítás, függvény stb.
neve. A @Kwhatis@N parancs a @Kstring@N rövid (általában 1-2 soros)
definícióját adja. Használata elôtt mindenképpen létre kell
hozni a man lapokból vagy azok egy részébôl a @Kmakewhatis@N
paranccsal a whatis adatbázist. A whatis parancs ugyanis ezt
használja. A man parancs is képes a whatis által nyújtott
szolgáltatásokra. Ehhez a
@Kman -f@N
string parancsot kell kiadni.
@VApropos@N
Ez a parancs akkor használható, ha arra vagyunk
kíváncsiak, hogy mely man-témák tartalmaznak egy adott
stringet. Ha egy témában megtalálható a string, akkor
megkapjuk az illetô témához tartozó whatis adatbázisbeli
bejegyzést. Tehát ahhoz, hogy egy témáról információt
kapjunk, nem szükséges a teljes egyezés. Ez olyankor
hasznos, ha nem vagyunk biztosak a minket érdeklô téma
nevében (a man ugyanis teljes egyezést követel meg). Az
@Kapropos@N segítségével megtudjuk, hogy a man lapok között
milyen néven kell keresni a minket érdeklô témát.
Használata:
@Kapropos string@N
A whatishez hasonlóan az apropos feladatát is el tudja
látni a man, a következô módon:
@Kman -k string@N
@VMakewhatis@N
Az @Kapropos@N és a @Kwhatis@N parancsok ugyanazt az adatbázist
használják. Ezt az adatbázist a manlapokból építhetjük fel a
@Kmakewhatis@N parancs segítségével. Lehetôség van az összes,
vagy csak a lapok egy részének adatbázisba való felvételére
(a megfelelô opciókat a man segítségével tudhatjuk meg). Az
apropos és a whatis programok csak az adatbázis létrehozása
után mûködnek helyesen (adatbázis nélkül nem szolgáltatnak
semmilyen információt).
Érdemes még megnézni az @Kinfo@N parancsot is, a
slackware-ben külön lemezcsoport tartalmazza (I jelû).
Bôséges információval látja el az érdeklôdôt például a
@Kgcc,TcL@N stb. mûködésérôl. Ez egy információs rendszer saját
file-formátummal. Az @Kinfo@N begépelése után egy listát kapunk.
Errôl a listáról kell válogatnunk. Bôvebb információt a @Kman
info@N paranccsal kaphatunk.
@KGróf Attila, grof@@hercules.elte.hu@N
@VA man fejezetei@N
A témakörök a következôk:
1. Felhasználói programok leírása
2. Rendszerhívások
3. C könyvtári rutinok (az alapkönyvtár, valamint az
összes többi könyvtár rutinjairól tartalmaz leírást).
4. Hardware eszközök leírása (például hd.,sd. leírások).
5. File-formátumok: például a @K/etc@N directoryban
található file-ok formátuma.
6. Ez sok minden lehet.
7. Macro gyûjtemények: például az nroff-hoz.
8. Ez a rész is a felhasználói programok man lapjai
számára van fenntartva.
9. Belsô kernel rutinok leírása. Åtlagos felhasználó
gyakorlatilag nem használja, de a kernel hackereknek hasznos
segítség.
n. Egyéb